// es6 reset 运算符
function sayHi(...args) {
    console.log(args);
    // 函数里有 this,arguments 
    // console.log(arguments);  //[Arguments] { '0': 1, '1': 2 }
    // this 指向
    // 严格模式  this 没什么含义 undefined
    // 宿主环境  前端window || 后端global
    // 手动绑定 call apply
    console.log('Hello',this.name);
}

let yf = {
    name : '彭云飞'
};
// sayHi也是对象
// 第一个参数 指定this
// sayHi.call(yf,1,2,3);   // 让普通函数 运行，但是指定this 指向
// sayHi.apply(yf);
// Apply 方法接收两个参数：
//1. 被绑定给 this 的值。（自己决定给this绑定的对象）  2. 参数数组
sayHi.apply(yf,[1,2,3]);